home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 101 / CD-ROM 101.iso / compl / maya5ple / Install_MayaPLE5_English.exe / Maya / Data1.cab / SelectMenu.mel < prev    next >
Encoding:
Text File  |  2003-07-17  |  23.2 KB  |  590 lines

  1. // Copyright (C) 1997-2002 Alias|Wavefront,
  2. // a division of Silicon Graphics Limited.
  3. //
  4. // The information in this file is provided for the exclusive use of the
  5. // licensees of Alias|Wavefront.  Such users have the right to use, modify,
  6. // and incorporate this code into other products for purposes authorized
  7. // by the Alias|Wavefront license agreement, without fee.
  8. //
  9. // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  10. // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  11. // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  12. // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  13. // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  14. // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  15. // PERFORMANCE OF THIS SOFTWARE.
  16. //
  17. global proc updateSelectionUI( )
  18. //
  19. // Updates all selection UI settings
  20. // when toggling between object and component
  21. // settings.
  22. //
  23. {
  24.     menuItem -e -rb `selectMode -q -object` selectObjectsModeItem;
  25.     menuItem -e -rb `selectMode -q -component` selectComponentsModeItem;
  26.     menuItem -e -rb `selectMode -q -root` selectRootModeItem;
  27.     menuItem -e -rb `selectMode -q -leaf` selectLeafModeItem;
  28.     menuItem -e -rb `selectMode -q -template` selectTemplateModeItem;
  29. }
  30.         
  31. global proc objectMaskSave() {}
  32.  
  33. proc toggleFlag (string $flag, string $widgetID) {
  34.     int $state;
  35.     $state = ! (int) `menuItem -q -cb $widgetID`;
  36.     menuItem -e -cb $state $widgetID;
  37.     selectType $flag $state;
  38. }
  39.  
  40. proc selObjectMaskUpdate () {
  41.     menuItem -e -cb `selectType -q -rootHandle` selectObjectRootHandleItem;
  42.     menuItem -e -cb `selectType -q -handle` selectObjectHandleItem;
  43.     menuItem -e -cb `selectType -q -ikHandle` selectObjectIkHandleItem;
  44.     menuItem -e -cb `selectType -q -ikEndEffector` selectObjectIkEndEffectorItem;
  45.     menuItem -e -cb `selectType -q -joint` selectObjectJointItem;
  46.     menuItem -e -cb `selectType -q -light` selectObjectLightItem;
  47.     menuItem -e -cb `selectType -q -camera` selectObjectCameraItem;
  48.     menuItem -e -cb `selectType -q -lattice` selectObjectLatticeItem; 
  49.     menuItem -e -cb `selectType -q -cluster` selectObjectClusterItem;
  50.     menuItem -e -cb `selectType -q -sculpt` selectObjectSculptItem;
  51.     menuItem -e -cb `selectType -q -nurbsSurface` selectObjectNurbsSurfaceItem;
  52.     menuItem -e -cb `selectType -q -subdiv` selectObjectSubdivItem;
  53.     menuItem -e -cb `selectType -q -polymesh` selectObjectPolySurfaceItem;
  54. //    menuItem -e -cb `selectType -q -curve` selectObjectCurveItem;
  55.     menuItem -e -cb `selectType -q -nurbsCurve` selectObjectNurbsCurveItem;
  56.     menuItem -e -cb `selectType -q -cos` selectObjectCurvesOnSurfaceItem;
  57.     menuItem -e -cb `selectType -q -plane` selectObjectPlaneItem;
  58.     menuItem -e -cb `selectType -q -locator` selectObjectLocatorItem;
  59.     menuItem -e -cb `selectType -q -dimension` selectObjectDimensionItem;
  60.     if( `licenseCheck -m edit -type complete` == 1 )
  61.     {
  62.         menuItem -e -cb `selectType -q -particleShape` selectObjectParticleItem;
  63.         menuItem -e -cb `selectType -q -emitter` selectObjectEmitterItem;
  64.         menuItem -e -cb `selectType -q -field` selectObjectFieldItem;
  65.     //    menuItem -e -cb `selectType -q -softBody` selectObjectSoftBodyItem;
  66.         menuItem -e -cb `selectType -q -rigidBody` selectObjectRigidBodyItem;
  67.         menuItem -e -cb `selectType -q -rigidConstraint` selectObjectRigidConstraintItem;
  68.     }
  69. //    menuItem -e -cb `selectType -q -slugObject` selectObjectSlugItem;
  70.     menuItem -e -cb `selectType -q -texture` selectObjectTextureItem;
  71.     menuItem -e -cb `selectType -q -sets` selectObjectSetItem;
  72. }
  73.  
  74. global proc selObjectMasksAllOn (int $state) {
  75.     selectType -allObjects $state;
  76.     menuItem -e -cb $state selectObjectRootHandleItem;
  77.     menuItem -e -cb $state selectObjectHandleItem;
  78.     menuItem -e -cb $state selectObjectIkHandleItem;
  79.     menuItem -e -cb $state selectObjectIkEndEffectorItem;
  80.     menuItem -e -cb $state selectObjectJointItem;
  81.     menuItem -e -cb $state selectObjectLightItem;
  82.     menuItem -e -cb $state selectObjectCameraItem;
  83.     menuItem -e -cb $state selectObjectLatticeItem; 
  84.     menuItem -e -cb $state selectObjectClusterItem;
  85.     menuItem -e -cb $state selectObjectSculptItem;
  86.     menuItem -e -cb $state selectObjectNurbsSurfaceItem;
  87.     menuItem -e -cb $state selectObjectSubdivItem;
  88.     menuItem -e -cb $state selectObjectPolySurfaceItem;
  89. //    menuItem -e -cb $state selectObjectCurveItem;
  90.     menuItem -e -cb $state selectObjectNurbsCurveItem;
  91.     menuItem -e -cb $state selectObjectCurvesOnSurfaceItem;
  92.     menuItem -e -cb $state selectObjectPlaneItem;
  93.     menuItem -e -cb $state selectObjectLocatorItem;
  94.     menuItem -e -cb $state selectObjectDimensionItem;
  95.     if( `licenseCheck -m edit -type complete` == 1 )
  96.     {
  97.         menuItem -e -cb $state selectObjectParticleItem;
  98.         menuItem -e -cb $state selectObjectEmitterItem;
  99.         menuItem -e -cb $state selectObjectFieldItem;
  100.     //    menuItem -e -cb $state selectObjectSoftBodyItem;
  101.         menuItem -e -cb $state selectObjectRigidBodyItem;
  102.         menuItem -e -cb $state selectObjectRigidConstraintItem;
  103.     }
  104. //    menuItem -e -cb $state selectObjectSlugItem;
  105.     menuItem -e -cb $state selectObjectTextureItem;
  106.     menuItem -e -cb $state selectObjectSetItem;
  107. }
  108.  
  109. global proc selObjectMasksToggleAll () {
  110.     toggleFlag -rootHandle selectObjectRootHandleItem;
  111.     toggleFlag -handle selectObjectHandleItem;
  112.     toggleFlag -ikHandle selectObjectIkHandleItem;
  113.     toggleFlag -ikEndEffector selectObjectIkEndEffectorItem;
  114.     toggleFlag -joint selectObjectJointItem;
  115.     toggleFlag -light selectObjectLightItem;
  116.     toggleFlag -camera selectObjectCameraItem;
  117.     toggleFlag -lattice selectObjectLatticeItem;
  118.     toggleFlag -cluster selectObjectClusterItem;
  119.     toggleFlag -sculpt selectObjectSculptItem;
  120.     toggleFlag -nurbsSurface selectObjectNurbsSurfaceItem;
  121.     toggleFlag -subdiv selectObjectSubdivItem;
  122.     toggleFlag -polymesh selectObjectPolySurfaceItem;
  123. //    toggleFlag -curve selectObjectCurveItem;
  124.     toggleFlag -nurbsCurve selectObjectNurbsCurveItem;
  125.     toggleFlag -cos selectObjectCurvesOnSurfaceItem;
  126.     toggleFlag -plane selectObjectPlaneItem;
  127.     toggleFlag -locator selectObjectLocatorItem;
  128.     toggleFlag -dimension selectObjectDimensionItem;
  129.     if( `licenseCheck -m edit -type complete` == 1 )
  130.     {
  131.         toggleFlag -particleShape selectObjectParticleItem;
  132.         toggleFlag -emitter selectObjectEmitterItem;
  133.         toggleFlag -field selectObjectFieldItem;
  134.     //    toggleFlag -softBody selectObjectSoftBodyItem;
  135.         toggleFlag -rigidBody selectObjectRigidBodyItem;
  136.         toggleFlag -rigidConstraint selectObjectRigidConstraintItem;
  137.     }
  138. //    toggleFlag -slugObject selectObjectSlugItem;
  139.     toggleFlag -texture selectObjectTextureItem;
  140.     toggleFlag -sets selectObjectSetItem;
  141. }
  142.  
  143. proc selComponentMaskUpdate () {
  144.     menuItem -e -cb `selectType -q -cv` selectCompCVsItem;
  145.     menuItem -e -cb `selectType -q -hull` selectCompHullsItem;
  146.     menuItem -e -cb `selectType -q -editPoint` selectCompEditPointsItem;
  147.     menuItem -e -cb `selectType -q -vertex` selectCompVerticesItem;
  148.     menuItem -e -cb `selectType -q -edge` selectCompEdgesItem;
  149.     menuItem -e -cb `selectType -q -facet` selectCompFacetsItem;
  150.     menuItem -e -cb `selectType -q -polymeshUV` selectCompMeshUVsItem;
  151.     menuItem -e -cb `selectType -q -latticePoint` selectCompLatticePointsItem;
  152.     menuItem -e -cb `selectType -q -subdivMeshPoint`
  153.         selectCompSubdivMeshPointItem;
  154.     menuItem -e -cb `selectType -q -subdivMeshEdge`
  155.         selectCompSubdivMeshEdgeItem;
  156.     menuItem -e -cb `selectType -q -subdivMeshFace`
  157.         selectCompSubdivMeshFaceItem;
  158.     if( `licenseCheck -m edit -type complete` == 1 )
  159.     {
  160.         menuItem -e -cb `selectType -q -particle` selectCompParticlesItem;
  161.     }
  162. //    menuItem -e -cb `selectType -q -slugVertex` selectCompSlugVerticesItem;
  163.     menuItem -e -cb `selectType -q -jointPivot` selectCompJointPivotsItem;
  164.     menuItem -e -cb `selectType -q -curveParameterPoint` selectCompCurveParmPointsItem;
  165.     menuItem -e -cb `selectType -q -surfaceParameterPoint` selectCompSurfaceParmPointsItem;
  166.     menuItem -e -cb `selectType -q -isoparm` selectCompIsoparmsItem;
  167.     menuItem -e -cb `selectType -q -surfaceEdge` selectCompSurfaceEdgesItem;
  168.     menuItem -e -cb `selectType -q -surfaceFace` selectCompSurfaceFacesItem;
  169.     menuItem -e -cb `selectType -q -scalePivot` selectCompScalePivotsItem;
  170.     menuItem -e -cb `selectType -q -rotatePivot` selectCompRotatePivotsItem;
  171.     menuItem -e -cb `selectType -q -selectHandle` selectCompSelectHandleItem;
  172.     menuItem -e -cb `selectType -q -localRotationAxis` selectCompRotateAxisItem;
  173.     menuItem -e -cb `selectType -q -spotlightComponent` selectCompSpotlightComponentItem;
  174.     menuItem -e -cb `selectType -q -imagePlane` selectCompImagePlaneComponentItem;
  175. }
  176.  
  177. global proc selComponentMasksAllOn (int $state) {
  178.     selectType -allComponents $state;
  179.  
  180.     menuItem -e -cb $state selectCompCVsItem;
  181.     menuItem -e -cb $state selectCompHullsItem;
  182.     menuItem -e -cb $state selectCompEditPointsItem;
  183.     menuItem -e -cb $state selectCompVerticesItem;
  184.     menuItem -e -cb $state selectCompEdgesItem;
  185.     menuItem -e -cb $state selectCompFacetsItem;
  186.     menuItem -e -cb $state selectCompMeshUVsItem;
  187.     menuItem -e -cb $state selectCompLatticePointsItem;
  188.     menuItem -e -cb $state selectCompSubdivMeshPointItem;
  189.     menuItem -e -cb $state selectCompSubdivMeshEdgeItem;
  190.     menuItem -e -cb $state selectCompSubdivMeshFaceItem;
  191.     if( `licenseCheck -m edit -type complete` == 1 )
  192.         menuItem -e -cb $state selectCompParticlesItem;
  193. //    menuItem -e -cb $state selectCompSlugVerticesItem;
  194.     menuItem -e -cb $state selectCompJointPivotsItem;
  195.     menuItem -e -cb $state selectCompCurveParmPointsItem;
  196.     menuItem -e -cb $state selectCompSurfaceParmPointsItem;
  197.     menuItem -e -cb $state selectCompIsoparmsItem;
  198.     menuItem -e -cb $state selectCompSurfaceEdgesItem;
  199.     menuItem -e -cb $state selectCompSurfaceFacesItem;
  200.     menuItem -e -cb $state selectCompScalePivotsItem;
  201.     menuItem -e -cb $state selectCompRotatePivotsItem;
  202.     menuItem -e -cb $state selectCompSelectHandleItem;
  203.     menuItem -e -cb $state selectCompRotateAxisItem;
  204.     menuItem -e -cb $state selectCompSpotlightComponentItem;
  205.     menuItem -e -cb $state selectCompImagePlaneComponentItem;
  206. }
  207.  
  208. global proc selComponentMasksToggleAll () {
  209.     toggleFlag -cv selectCompCVsItem;
  210.     toggleFlag -hull selectCompHullsItem;
  211.     toggleFlag -editPoint selectCompEditPointsItem;
  212.     toggleFlag -vertex selectCompVerticesItem;
  213.     toggleFlag -edge selectCompEdgesItem;
  214.     toggleFlag -facet selectCompFacetsItem;
  215.     toggleFlag -polymeshUV selectCompMeshUVsItem;
  216.     toggleFlag -latticePoint selectCompLatticePointsItem;
  217.     toggleFlag -subdivMeshPoint selectCompSubdivMeshPointItem;
  218.     toggleFlag -subdivMeshEdge selectCompSubdivMeshEdgeItem;
  219.     toggleFlag -subdivMeshFace selectCompSubdivMeshFaceItem;
  220.     if( `licenseCheck -m edit -type complete` == 1 )
  221.         toggleFlag -particle selectCompParticlesItem;
  222. //    toggleFlag -slug selectCompSlugVerticesItem;
  223.     toggleFlag -jointPivot selectCompJointPivotsItem;
  224.     toggleFlag -curveParameterPoint selectCompCurveParmPointsItem;
  225.     toggleFlag -surfaceParameterPoint selectCompSurfaceParmPointsItem;
  226.     toggleFlag -isoparm selectCompIsoparmsItem;
  227.     toggleFlag -surfaceEdge selectCompSurfaceEdgesItem;
  228.     toggleFlag -surfaceFace selectCompSurfaceFacesItem;
  229.     toggleFlag -scalePivot selectCompScalePivotsItem;
  230.     toggleFlag -rotatePivot selectCompRotatePivotsItem;
  231.     toggleFlag -selectHandle selectCompSelectHandleItem;
  232.     toggleFlag -localRotationAxis selectCompRotateAxisItem;
  233.     toggleFlag -spotlightComponent selectCompSpotlightComponentItem;
  234.     toggleFlag -imagePlane selectCompImagePlaneComponentItem;
  235. }
  236.  
  237. global proc compMaskSave() {}
  238.  
  239. global proc updateSelectMasks () {
  240.     selObjectMaskUpdate;
  241.     selComponentMaskUpdate;
  242. }
  243.  
  244. global proc updateMenuMappings( )
  245. //
  246. // Checks to see what the selectPref -xformNoSelect flag
  247. // has been set/changed to, and re-attaches popup menus
  248. // to the model views based on this setting.
  249. //
  250. // As the new transformation behaviour requires use of
  251. // all three mouse buttons, no popup menu can be posted
  252. // without qualifiers being used.
  253. //
  254. {
  255.     if( `selectPref -q -xformNoSelect` )
  256.     {
  257.         // No select mode is on.
  258.         //
  259.         string $modelPanels[] = `getPanel -type modelPanel`;
  260.  
  261.         for( $item in $modelPanels )
  262.         //
  263.         // Remap the qualifiers for the popup menus
  264.         {
  265.             string $mainPopMenuName = ( $item + "MainPop" );
  266.             if( `popupMenu -exists $mainPopMenuName` ) {
  267.                 popupMenu -e -b 1 -ctl 1 ( $item + "MainPop" );
  268.             }
  269.         }
  270.  
  271.         //    Handle all scripted panels 
  272.         //
  273.         string $panels[] = `getPanel -type scriptedPanel`;
  274.  
  275.         for( $item in $panels ) 
  276.         {
  277.             string $scriptedType = `scriptedPanel -q -type $item`;
  278.  
  279.             switch( $scriptedType ) {
  280.                 case "graphEditor":
  281.                     string $graphEd = ( $item + "GraphEd" );
  282.                     string $graphEdMenu = ( $graphEd + "graphEditorMenu" );
  283.                     if( `popupMenu -exists $graphEdMenu` ) {
  284.                         popupMenu -e -b 1 -ctl 1 $graphEdMenu;
  285.                     }
  286.                     break;
  287.                 case "hyperGraphPanel":
  288.                     //    Does nothing
  289.                     break;
  290.                 case "dopeSheetPanel":
  291.                     //    Does nothing
  292.                     break;
  293.                 default:
  294.                     //    Does nothing
  295.                     break;
  296.             }
  297.         }
  298.  
  299.         //    Change the hotkeys, to put in an explicit selection
  300.         //    hotkey, and switch around the panepopping hotkey
  301.         //
  302.         hotkey -k "Space" 
  303.             -c "storeLastAction( \"setToolTo \" + `currentCtx` ); setToolTo $gSelect;"
  304.             -r "invokeLastAction";
  305.         hotkey -k "x" -c "panePop";
  306.     }
  307.     else
  308.     {
  309.         string $modelPanels[] = `getPanel -type modelPanel`;
  310.  
  311.         for( $item in $modelPanels )
  312.         //
  313.         // Remap the qualifiers for the popup menus on the
  314.         // model panel types.
  315.         {
  316.             string $mainPopMenuName = ( $item + "MainPop" );
  317.             if( `popupMenu -exists $mainPopMenuName` ) {
  318.                 popupMenu -e -b 3 -ctl 0 ( $item + "MainPop" );
  319.             }
  320.         }
  321.  
  322.         //    Handle all scripted panels 
  323.         //
  324.         string $panels[] = `getPanel -type scriptedPanel`;
  325.  
  326.         for( $item in $panels ) 
  327.         {
  328.             string $scriptedType = `scriptedPanel -q -type $item`;
  329.  
  330.             switch( $scriptedType ) {
  331.                 case "graphEditor":
  332.                     string $graphEd = ( $item + "GraphEd" );
  333.                     string $graphEdMenu = ( $graphEd + "graphEditorMenu" );
  334.                     if( `popupMenu -exists $graphEdMenu` ) {
  335.                         popupMenu -e -b 3 -ctl 0 $graphEdMenu;
  336.                     }
  337.                     break;
  338.                 case "hyperGraphPanel":
  339.                     //    Does nothing
  340.                     break;
  341.                 case "dopeSheetPanel":
  342.                     //    Does nothing
  343.                     break;
  344.                 default:
  345.                     //    Does nothing
  346.                     break;
  347.             }
  348.         }
  349.         //    Change the hotkeys, to put in an explicit selecction
  350.         //    hotkey, and switch around the panepopping hotkey
  351.         //
  352.         hotkey -k "Space" -c "panePop";
  353.         hotkey -k "x" -c "";
  354.     }
  355. }
  356.  
  357. global proc updateSelectMenu () {
  358. //    menuItem -edit -rb `selectMode -q -object`    selectObjectsModeItem;
  359. //    menuItem -edit -rb `selectMode -q -component` selectComponentsModeItem;
  360. }
  361.  
  362. global proc SelectMenu ( string $parent ) {
  363. menu -p $parent -tearOff true -l "Select" -pmc "updateSelectMenu" selectMenu;
  364.     radioMenuItemCollection selectMenuCluster;
  365.     menuItem -rb 1 -l "Objects"
  366.              -c "selectMode -object" selectObjectsModeItem;
  367.     menuItem -rb 0 -l "Components"
  368.              -c "selectMode -component" selectComponentsModeItem;
  369.     menuItem -rb 0 -l "Root"
  370.              -c "selectMode -root" selectRootModeItem;
  371.     menuItem -rb 0 -l "Leaf"
  372.              -c "selectMode -leaf" selectLeafModeItem;
  373.     menuItem -rb 0 -l "Template"
  374.              -c "selectMode -template" selectTemplateModeItem;
  375.  
  376.     menuItem -divider true;
  377.  
  378.     menuItem -l "Object Mask" -subMenu true -tearOff true selectObjectMaskItem;
  379.         menuItem -l "All On"    
  380.                  -c "selObjectMasksAllOn true" selectObjectAllOnItem;
  381.         menuItem -l "All Off"
  382.                  -c "selObjectMasksAllOn false" selectObjectAllOffItem;
  383.         menuItem -l "Toggle All"
  384.                  -c "selObjectMasksToggleAll" selectObjectToggleAllItem;
  385.         menuItem -l "Save to Shelf"
  386.                  -c "saveObjectMaskToShelf" selectObjectSaveToShelfItem;
  387.  
  388.         menuItem -divider true "selObjMaskSeparator-1";
  389.  
  390.         menuItem -cb 0 -l "Root" -c "selectType -rootHandle #1"
  391.                  selectObjectRootHandleItem;
  392.         menuItem -cb 0 -l "Handle" -c "selectType -handle #1"
  393.                  selectObjectHandleItem;
  394.         menuItem -cb 0 -l "IK Handle" -c "selectType -ikHandle #1"
  395.                  selectObjectIkHandleItem;
  396.         menuItem -cb 0 -l "End Effector" -c "selectType -ikEndEffector #1"
  397.                  selectObjectIkEndEffectorItem;
  398.         menuItem -cb 0 -l "Joint" -c "selectType -joint #1"
  399.                  selectObjectJointItem;
  400.         menuItem -cb 0 -l "Light" -c "selectType -light #1"
  401.                  selectObjectLightItem;
  402.         menuItem -cb 0 -l "Camera" -c "selectType -camera #1"
  403.                  selectObjectCameraItem;
  404.         menuItem -cb 0 -l "Lattice" -c "selectType -lattice #1"
  405.                  selectObjectLatticeItem;
  406.         menuItem -cb 0 -l "Cluster" -c "selectType -cluster #1"
  407.                  selectObjectClusterItem;
  408.         menuItem -cb 0 -l "Sculpt" -c "selectType -sculpt #1"
  409.                  selectObjectSculptItem;
  410.         menuItem -cb 0 -l "NURBS Surface" -c "selectType -nurbsSurface #1"
  411.                  selectObjectNurbsSurfaceItem;
  412.         menuItem -cb 0 -l "Subdivision Surface" -c "selectType -subdiv #1"
  413.                  selectObjectSubdivItem;
  414.         menuItem -cb 0 -l "Poly Surface" -c "selectType -polymesh #1"
  415.                  selectObjectPolySurfaceItem;
  416. //        menuItem -cb 0 -l "Curve" -c "selectType -curve #1"
  417. //                 selectObjectCurveItem;
  418.         menuItem -cb 0 -l "NURBS Curve" -c "selectType -nurbsCurve #1"
  419.                  selectObjectNurbsCurveItem;
  420.         menuItem -cb 0 -l "Curve On Surface" -c "selectType -cos #1"
  421.                  selectObjectCurvesOnSurfaceItem;
  422.         menuItem -cb 0 -l "Plane" -c "selectType -plane #1"
  423.                  selectObjectPlaneItem;
  424.         menuItem -cb 0 -l "Locator" -c "selectType -locator #1"
  425.                  selectObjectLocatorItem;
  426.         menuItem -cb 0 -l "Dimension" -c "selectType -dimension #1"
  427.                  selectObjectDimensionItem;
  428.  
  429.         if( `licenseCheck -m edit -type complete` == 1 )
  430.         {
  431.             menuItem -cb 0 -l "Particle" -c "selectType -particleShape #1"
  432.                  selectObjectParticleItem;
  433.             menuItem -cb 0 -l "Emitter" -c "selectType -emitter #1"
  434.                  selectObjectEmitterItem;
  435.             menuItem -cb 0 -l "Field" -c "selectType -field #1"
  436.                  selectObjectFieldItem;
  437.     //        menuItem -cb 0 -l "Soft Body" -c "selectType -softBody #1"
  438. //                    selectObjectSoftBodyItem;
  439.             menuItem -cb 0 -l "Rigid Body" -c "selectType -rigidBody #1"
  440.                  selectObjectRigidBodyItem;
  441.             menuItem -cb 0 -l "Rigid Constraint" -c "selectType -rigidConstraint #1"
  442.                  selectObjectRigidConstraintItem;
  443.     //        menuItem -cb 0 -l "Slug Object" -c "selectType -slugObject #1"
  444.         //        selectObjectSlugItem;
  445.         }
  446.  
  447.         menuItem -cb 0 -l "Texture" -c "selectType -texture #1"
  448.                  selectObjectTextureItem;
  449.         menuItem -cb 0 -l "Set" -c "selectType -sets #1"
  450.                  selectObjectSetItem;
  451.  
  452.         setParent -m ..;
  453.  
  454.     menuItem -l "Component Mask" -subMenu true -tearOff true selectComponentMaskItem;
  455.         menuItem -l "All On"
  456.             -c "selComponentMasksAllOn true" selectCompAllOnItem;
  457.         menuItem -l "All Off"
  458.             -c "selComponentMasksAllOn false" selectCompAllOffItem;
  459.         menuItem -l "Toggle All"
  460.             -c "selComponentMasksToggleAll" selectCompToggleAllItem;
  461.          menuItem -l "Save to Shelf"
  462.             -c "saveComponentMaskToShelf" selectCompSaveToShelfItem;
  463.  
  464.         menuItem -divider true "selCompMaskSeparator-1";
  465.  
  466.         menuItem -cb 0 -l "CVs" -c "selectType -cv #1"
  467.                  selectCompCVsItem;
  468.         menuItem -cb 0 -l "Hulls" -c "selectType -hull #1"
  469.                  selectCompHullsItem;
  470.         menuItem -cb 0 -l "Edit Points" -c "selectType -editPoint #1"
  471.                 selectCompEditPointsItem;
  472.  
  473.         menuItem -divider true "selCompMaskSeparator-2";
  474.  
  475.         menuItem -cb 0 -l "Vertices" -c "selectType -vertex #1"
  476.                 selectCompVerticesItem;
  477.         menuItem -cb 0 -l "Edges" -c "selectType -edge #1"
  478.                  selectCompEdgesItem;
  479.         menuItem -cb 0 -l "Faces" -c "selectType -facet #1"
  480.                  selectCompFacetsItem;
  481.         menuItem -cb 0 -l "MeshUVs" -c "selectType -polymeshUV #1"
  482.                  selectCompMeshUVsItem;
  483.  
  484.         menuItem -divider true "selCompMaskSeparator-3";
  485.  
  486.         menuItem -cb 0 -l "Lattice Points" -c "selectType -latticePoint #1"
  487.                 selectCompLatticePointsItem;
  488.  
  489.         menuItem -cb 0 -l "Subdiv Mesh Points" -c "selectType -subdivMeshPoint #1"
  490.                 selectCompSubdivMeshPointItem;
  491.         menuItem -cb 0 -l "Subdiv Mesh Edges" -c "selectType -subdivMeshEdge #1"
  492.                 selectCompSubdivMeshEdgeItem;
  493.         menuItem -cb 0 -l "Subdiv Mesh Faces" -c "selectType -subdivMeshFace #1"
  494.                 selectCompSubdivMeshFaceItem;
  495.  
  496.         if( `licenseCheck -m edit -type complete` == 1 )
  497.         {
  498.             menuItem -cb 0 -l "Particles" -c "selectType -particle #1"
  499.                 selectCompParticlesItem;
  500.         }
  501. //        menuItem -cb 0 -l "Slug Vertices" -c "selectType -slugVertex #1"
  502. //                selectCompSlugVerticesItem;
  503.         menuItem -cb 0 -l "Joint Pivots" -c "selectType -jointPivot #1"
  504.                  selectCompJointPivotsItem;
  505.  
  506.         menuItem -divider true "selCompMaskSeparator-4";
  507.  
  508.         menuItem -cb 0 -l "Curve Parm Points" -c "selectType -curveParameterPoint #1"
  509.                  selectCompCurveParmPointsItem;
  510.  
  511.         menuItem -cb 0 -l "Surface Parm Points"
  512.                  -c "selectType -surfaceParameterPoint #1"
  513.                  selectCompSurfaceParmPointsItem;
  514.         menuItem -cb 0 -l "Isoparms" -c "selectType -isoparm #1"
  515.                  selectCompIsoparmsItem;
  516.         menuItem -cb 0 -l "Surface Patches" -c "selectType -surfaceFace #1"
  517.                  selectCompSurfaceFacesItem;
  518.         menuItem -cb 0 -l "Trim Edges" -c "selectType -surfaceEdge #1"
  519.                  selectCompSurfaceEdgesItem;
  520.         menuItem -cb 0 -l "Scale Pivots" -c "selectType -scalePivot #1"
  521.                  selectCompScalePivotsItem;
  522.         menuItem -cb 0 -l "Rotate Pivots" -c "selectType -rotatePivot #1"
  523.                  selectCompRotatePivotsItem;
  524.         menuItem -cb 0 -l "Select Handles" -c "selectType -selectHandle #1"
  525.                  selectCompSelectHandleItem;
  526.         menuItem -cb 0 -l "Local Axis" -c "selectType -localRotationAxis #1"
  527.                  selectCompRotateAxisItem;
  528.  
  529.         menuItem -cb 0 -l "Spotlight Parts"
  530.                  -c "selectType -spotlightComponent #1"
  531.                  selectCompSpotlightComponentItem;
  532.  
  533.         menuItem -cb 0 -l "Image Planes"
  534.                  -c "selectType -imagePlane #1"
  535.                  selectCompImagePlaneComponentItem;
  536.         setParent -m ..;
  537.  
  538.     menuItem -divider true;
  539.  
  540.     menuItem -l "Selection Weighting" -subMenu true selPriorityHierItem;
  541.         menuItem -l "Animation" -c "selPriority \"animation\"" selPriAnimItem;
  542.         menuItem -l "NURBS Modeling" -c "selPriority \"nurbsModeling\"" selPriNurbItem;
  543.         menuItem -l "Poly Modeling" -c "selPriority \"polyModeling\"" selPriPolyItem;
  544.         menuItem -l "Rendering" -c "selPriority \"rendering\"" selPriRenderItem;
  545.         if( `licenseCheck -m edit -type complete` == 1 )
  546.             menuItem -l "Dynamics" -c "selPriority \"dynamics\"" selPriDynItem;
  547. //        menuItem -divider true;
  548. //        menuItem -l "Custom..." -c "selPriorityUI" selPriorityItem;
  549.     setParent -m ..;
  550.  
  551.     menuItem -divider true;
  552.  
  553.     menuItem -l "Select All" -ke "a" -ctl true 
  554.              -c "select -all" selectAllItem;
  555.  
  556.     menuItem -l "Select All" -subMenu true selectAllHierItem;
  557.         menuItem -l "Lights" -c "select -r `ls -lights`" selLightsItem;
  558.         menuItem -l "Cameras" -c "select -r `ls -ap -cameras`" selCamerasItem;
  559.         menuItem -l "Geometry" -c "select -r `ls -geometry`" selGeomItem;
  560.         menuItem -l "DAG Items" -c "select -r `ls -dag`" selDAGItem;
  561.  
  562.         menuItem -divider true;
  563.  
  564.         menuItem -l "Joints" -c "select -r `ls -type joint`" selJointsItem;
  565.         menuItem -l "IK Handles" -c "select -r `ls -type ikHandle`" selIKHanItem;
  566.  
  567.         menuItem -divider true;
  568.  
  569.         menuItem -l "NURBS Geometry" 
  570.             -c "select -r `ls -type nurbsCurve -type nurbsSurface`" 
  571.             selNurbsGeomItem;
  572.         menuItem -l "Poly Geometry" -c "select -r `ls -type mesh`" selPolysItem;
  573.  
  574.         menuItem -divider true;
  575.  
  576.         if( `licenseCheck -m edit -type complete` == 1 )
  577.         {
  578.             menuItem -l "Particles" 
  579.                 -c "select -r `ls -type particle`" 
  580.                 selParticlesItem;
  581.         }
  582.     setParent -m ..;
  583.  
  584.     updateSelectMasks;
  585.  
  586.     scriptJob -p selectMenu -e "SelectPreferenceChanged" updateMenuMappings;
  587.     scriptJob -p selectMenu -e "SelectModeChanged" updateSelectionUI;
  588.     scriptJob -p selectMenu -e "SelectTypeChanged" updateSelectMasks;
  589. }
  590.